Skip Headers

Oracle® OLAP DML Reference 10g Release 2 (10.2) Part Number B14346-01 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# DBGOUTFILE

The DBGOUTFILE command (abbreviated DOTF) sends debugging information to a file. When you set PRGTRACE and MODTRACE to `YES`, the file produced by DBGOUTFILE interweaves each line of your program, model, or infile with its corresponding output. When you set ECHOPROMPT to `YES`, the debugging file also includes error messages.

Syntax

DBGOUTFILE {EOF | TRACEFILE | [APPEND] file-name [NOCACHE]}

Arguments

EOF

  Closes the current debugging file, and debugging output is no longer sent to a file.

TRACEFILE

  Specifies that the debugging output should be directed to the Oracle trace file, which is identified by the TRACEFILEUNIT option.

APPEND

  Specifies that the output should be added to the end of an existing file. When you omit this argument and a file exists with the specified name, the new output replaces the current contents of the file.

file-name

  A text expression that is the name of the file to which debugging output should be written. Unless the file is in the current directory, you must include the name of the directory object in the name of the file.

  Note: Directory objects are defined in the database, and they control access to directories and file in those directories. You can use a CDA statement to identify and specify a current directory object. Contact your Oracle DBA for access rights to a directory object where your database user name can read and write files.

NOCACHE

  Specifies that Oracle OLAP should write to the debugging file each time a line is executed. Without this keyword, Oracle OLAP reduces file I/O activity by saving text and writing it periodically to the file.

  The NOCACHE keyword slows performance significantly, but it ensures that the debugging file records every line as soon as it is executed. When you are debugging a program that aborts after a certain line, NOCACHE ensures that you see every line that was executed.

Examples

Example 9-40 Debugging with a Debugging File

The following statements create a useful debugging file called `debug.txt` in the current directory object.

    PRGTRACE = yes
    ECHOPROMPT = yes
    DBGOUTFILE 'debug.txt'

After executing these statements, you can run your program as usual. To close the debugging file, execute this statement.

    DBGOUTFILE EOF

In the following sample program, the first LIMIT command has a syntax error.

    DEFINE ERROR_TRAP PROGRAM
    PROGRAM
    TRAP ON traplabel
    LIMIT month TO FIRST badarg
    LIMIT product TO FIRST 3
    LIMIT district TO FIRST 3
    REPORT sales
    traplabel:
    SIGNAL ERRORNAME ERRORTEXT
    END

With `PRGTRACE` and `ECHOPROMPT` both set to `YES` and with `DBGOUTFILE` set to send debugging output to a file called `debug.txt`, the following text is sent to the `debug.txt` file when you execute the `error_trap` program.

    (PRG= ERROR_TRAP)
    (PRG= ERROR_TRAP) TRAP ON traplabel
    (PRG= ERROR_TRAP)
    (PRG: ERROR_TRAP) LIMIT month TO FIRST badarg
    ERROR: BADARG does not exist in any attached database.
    (PRG= ERROR_TRAP) traplabel:
    (PRG= ERROR_TRAP) SIGNAL ERRORNAME ERRORTEXT
    ERROR: BADARG does not exist in any attached database.

Example 9-41 Sending Debugging Information to a File

The following is the text of a program whose first LIMIT command has a syntax error.

    DEFINE error_trap PROGRAM
    PROGRAM
    TRAP ON traplabel
    LIMIT month TO FIRST BADARG
    LIMIT product TO FIRST 3
    LIMIT district TO FIRST 3
    REPORT sales
    traplabel:
    SIGNAL ERRORNAME ERRORTEXT
    END

The following statement sends debugging information to a file named `debug.txt`.

    DBGOUTFILE 'debug.txt'

With PRGTRACE and ECHOPROMPT both set to `YES`, Oracle OLAP sends the following text to the `debug.txt` file when you execute the ERROR_TRAP program. The last line in the file is the command to stop recording the debugging information.

    error_trap
    (PRG= ERROR_TRAP)
    (PRG= ERROR_TRAP) trap on traplabel
    (PRG= ERROR_TRAP)
    (PRG: ERROR_TRAP) limit month to first badarg
    ERROR: BADARG does not exist in any attached workspace.
    (PRG= ERROR_TRAP) traplabel:
    (PRG= ERROR_TRAP) signal errorname errortext
    ERROR: BADARG does not exist in any attached workspace.
    dbgoutfile eof